// { dg-do preprocess }
// { dg-options "-Wkeyword-macro -std=c17" }

#define _Alignas 1			// { dg-warning "keyword '_Alignas' defined as macro" }
#define _Alignof 1			// { dg-warning "keyword '_Alignof' defined as macro" }
#define _Atomic 1			// { dg-warning "keyword '_Atomic' defined as macro" }
#define _Bool 1				// { dg-warning "keyword '_Bool' defined as macro" }
#define _Complex 1			// { dg-warning "keyword '_Complex' defined as macro" }
#define _Generic 1			// { dg-warning "keyword '_Generic' defined as macro" }
#define _Imaginary 1			// { dg-warning "keyword '_Imaginary' defined as macro" }
#define _Noreturn 1			// { dg-warning "keyword '_Noreturn' defined as macro" }
#define _Static_assert 1		// { dg-warning "keyword '_Static_assert' defined as macro" }
#define _Thread_local 1			// { dg-warning "keyword '_Thread_local' defined as macro" }
#define auto 1				// { dg-warning "keyword 'auto' defined as macro" }
#define break 1				// { dg-warning "keyword 'break' defined as macro" }
#define case 1				// { dg-warning "keyword 'case' defined as macro" }
#define char 1				// { dg-warning "keyword 'char' defined as macro" }
#define const 1				// { dg-warning "keyword 'const' defined as macro" }
#define continue 1			// { dg-warning "keyword 'continue' defined as macro" }
#define default 1			// { dg-warning "keyword 'default' defined as macro" }
#define do 1				// { dg-warning "keyword 'do' defined as macro" }
#define double 1			// { dg-warning "keyword 'double' defined as macro" }
#define else 1				// { dg-warning "keyword 'else' defined as macro" }
#define enum 1				// { dg-warning "keyword 'enum' defined as macro" }
#define extern 1			// { dg-warning "keyword 'extern' defined as macro" }
#define float 1				// { dg-warning "keyword 'float' defined as macro" }
#define for 1				// { dg-warning "keyword 'for' defined as macro" }
#define goto 1				// { dg-warning "keyword 'goto' defined as macro" }
#define if 1				// { dg-warning "keyword 'if' defined as macro" }
#define inline 1			// { dg-warning "keyword 'inline' defined as macro" }
#define int 1				// { dg-warning "keyword 'int' defined as macro" }
#define long 1				// { dg-warning "keyword 'long' defined as macro" }
#define register 1			// { dg-warning "keyword 'register' defined as macro" }
#define restrict 1			// { dg-warning "keyword 'restrict' defined as macro" }
#define return 1			// { dg-warning "keyword 'return' defined as macro" }
#define short 1				// { dg-warning "keyword 'short' defined as macro" }
#define signed 1			// { dg-warning "keyword 'signed' defined as macro" }
#define sizeof 1			// { dg-warning "keyword 'sizeof' defined as macro" }
#define static 1			// { dg-warning "keyword 'static' defined as macro" }
#define struct 1			// { dg-warning "keyword 'struct' defined as macro" }
#define switch 1			// { dg-warning "keyword 'switch' defined as macro" }
#define typedef 1			// { dg-warning "keyword 'typedef' defined as macro" }
#define union 1				// { dg-warning "keyword 'union' defined as macro" }
#define unsigned 1			// { dg-warning "keyword 'unsigned' defined as macro" }
#define void 1				// { dg-warning "keyword 'void' defined as macro" }
#define volatile 1			// { dg-warning "keyword 'volatile' defined as macro" }
#define while 1				// { dg-warning "keyword 'while' defined as macro" }
